﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DevEx.Thanh.Class
{
    class CPhieuUtilities
    {
        QLVTDataContext dc;
        public CPhieuUtilities()
        {
            dc = new QLVTDataContext( );
        }
        public CPhieuUtilities(QLVTDataContext _obj)
        {
            dc= _obj;
        }
        public IQueryable LayDanhSachPhieu()
        {
            var listPhieu = from p in dc.tblDPNXes
                            join ct in dc.tblSLNXes on p.ID_DPNX equals ct.ID_DPNX
                            join t in dc.tblTons on ct.ID_MatHang equals t.ID_MatHang
                            join vt in dc.tblVatTus on t.ID_VatTu equals vt.ID_VatTu
                            orderby p.NgayPhieu, p.SoPhieu descending
                            select new
                            {
                                ID_DPNX = p.ID_DPNX,
                                NX = p.NX,
                                SoPhieu = (Convert.ToDateTime(p.NgayPhieu).Month > 9 ?
                                Convert.ToString(p.SoPhieu) + p.DuoiPhieu + "/" + Convert.ToDateTime(p.NgayPhieu).Month.ToString() + "-" + Convert.ToDateTime(p.NgayPhieu).Year.ToString().Substring(2, 2)
                                : Convert.ToString(p.SoPhieu) + p.DuoiPhieu + "/0" + Convert.ToDateTime(p.NgayPhieu).Month.ToString() + "-" + Convert.ToDateTime(p.NgayPhieu).Year.ToString().Substring(2, 2)),
                                Phieu = "Số phiếu: " + (Convert.ToDateTime(p.NgayPhieu).Month > 9 ?
                                Convert.ToString(p.SoPhieu) + p.DuoiPhieu + "/" + Convert.ToDateTime(p.NgayPhieu).Month.ToString() + "-" + Convert.ToDateTime(p.NgayPhieu).Year.ToString().Substring(2, 2)
                                : Convert.ToString(p.SoPhieu) + p.DuoiPhieu + "/0" + Convert.ToDateTime(p.NgayPhieu).Month.ToString() + "-" + Convert.ToDateTime(p.NgayPhieu).Year.ToString().Substring(2, 2))
                                + " - Ngày : " + Convert.ToDateTime(p.NgayPhieu).Day.ToString() + "/" + Convert.ToDateTime(p.NgayPhieu).Month.ToString() + "/" + Convert.ToDateTime(p.NgayPhieu).Year.ToString().Substring(2, 2)
                                + " - Đơn vị giao nhận : " + p.tblDonVi.DonVi
                                + " - TCNX : " + p.tblTCNX.TCNX,
                                NgayPhieu = p.NgayPhieu,
                                ID_Kho = p.ID_Kho,
                                ID_TCNX = p.ID_TCNX,
                                ID_DonVi = p.ID_DonVi,
                                VatTu = vt.VatTu,
                                MaKyHieu = vt.MaKyHieu,
                                DVT = vt.tblDVT.DVT,
                                Gia = t.Gia,
                                SLKH = ct.SLKH,
                                ThanhTien = t.Gia * ct.SLKH,
                                ID_NguonVatTu = t.ID_NguonVatTu,
                                KH_NguonVatTu = t.tblNguonVatTu.KH_NguonVatTu,
                                SoTheKho = t.SoTheKho + "-" + t.Code.ToString(),
                                ViTri = t.TangKeKhoang,
                                SoHopDong = t.tblHopDong.SoHopDong ?? ""
                            };
            return listPhieu;
        }
    }
}
